var prefix = "/tempStudent"

$(document).ready(function() {
    $('#btn').click(function () {
        if (checkData()) {
            $('#form1').ajaxSubmit({
                url: '/tempStudent/ajaxUpload',
                dataType: 'text',
                type : "POST",
                async: false,
                success: resutlMsg,
                error: errorMsg
            });

            function resutlMsg(result) {
                alert(result);
                $("#upfile").val("");
                reLoad();
            }

            function errorMsg(result) {
                alert(result);
                $("#upfile").val("");
                reLoad();
            }
        }
    });
});


//JS校验form表单信息
function checkData(){
    var fileDir = $("#upfile").val();
    var suffix = fileDir.substr(fileDir.lastIndexOf("."));
    if("" == fileDir){
        alert("选择需要导入的Excel文件！");
        return false;
    }
    if(".xls" != suffix && ".xlsx" != suffix ){
        alert("选择Excel格式的文件导入！");
        return false;
    }
    return true;
}

$(function() {
    load();
});

function load() {
    $('#importStudentTable')
        .bootstrapTable(
            {
                method : 'get', // 服务器数据的请求方式 get or post
                url : prefix + "/list", // 服务器数据的加载地址
                // showRefresh : true,
                // showToggle : true,
                // showColumns : true,
                iconSize : 'outline',
                toolbar : '#exampleToolbar',
                striped : true, // 设置为true会有隔行变色效果
                dataType : "json", // 服务器返回的数据类型
                pagination : true, // 设置为true会在底部显示分页条
                // queryParamsType : "limit",
                // //设置为limit则会发送符合RESTFull格式的参数
                singleSelect : false, // 设置为true将禁止多选
                // contentType : "application/x-www-form-urlencoded",
                // //发送到服务器的数据编码类型
                pageSize : 10, // 如果设置了分页，每页数据条数
                pageNumber : 1, // 如果设置了分布，首页页码
                // search : true, // 是否显示搜索框
                showColumns : false, // 是否显示内容下拉框（选择显示的列）
                sidePagination : "server", // 设置在哪里进行分页，可选值为"client" 或者
                // "server"
                queryParams : function(params) {
                    return {
                        // 说明：传入后台的参数包括offset开始索引，limit步长，sort排序列，order：desc或者,以及所有列的键值对
                        limit : params.limit,
                        offset : params.offset,
                        name : $('#searchName').val()
                    };
                },
                // //请求服务器数据时，你可以通过重写参数的方式添加一些额外的参数，例如 toolbar 中的参数 如果
                // queryParamsType = 'limit' ,返回参数必须包含
                // limit, offset, search, sort, order 否则, 需要包含:
                // pageSize, pageNumber, searchText, sortName,
                // sortOrder.
                // 返回false将会终止请求
                columns : [
                    {
                        checkbox : true
                    },
                    {
                        field : 'uid', // 列字段名
                        title : '序号', // 列标题
                        align : 'center',
                        visible : false
                    },{
                        field : 'username',
                        title : '学号',
                        align : "center"
                    },
                    {
                        field : 'name',
                        title : '姓名',
                        align : "center"
                    },
                    {
                        field : 'sex',
                        title : '性别',
                        align : "center",
                        formatter : function (value, row, index) {
                            if (value == 0){
                                return "男";
                            } else if (value == 1) {
                                return "女"
                            }else {
                                return "-"
                            }
                        }
                    },
                    {
                        field : 'email',
                        title : '邮箱',
                        align : "center"
                    },
                    {
                        field : 'mobile',
                        title : '联系电话',
                        align : "center"
                    },
                    {
                        field : 'studentClass',
                        title : '所在班级',
                        align : "center"
                    },
                    {
                        title : '信息描述',
                        field : 'description',
                        align : 'center',
                        formatter : function (value, row, index) {
                            if (value == "学生信息已存在"){
                                return '<span style="color:red">'+value+'</span>';
                            } else if (value == "学生信息上传成功") {
                                return value;
                            }else {
                                return "-";
                            }
                        }
                    },
                    {
                        title : '操作',
                        field : 'id',
                        align : 'center',
                        formatter : function(value, row, index) {
                            var d = '<a class="btn btn-warning btn-sm '+'" href="#" title="删除"  mce_href="#" onclick="remove(\''
                                + row.uid
                                + '\')"><i class="fa fa-remove"></i></a> ';
                            return  d ;
                        }
                    }
                ]
            });
}
function reLoad() {
    $('#importStudentTable').bootstrapTable('refresh');
}
function remove(id) {
    layer.confirm('确定删除此条错误学生信息？', {
        btn : [ '确定', '取消' ]
    }, function() {
        $.ajax({
            url : "/tempStudent/remove",
            type : "post",
            data : {
                'uid' : id
            },
            success : function(r) {
                if (r.code == 0) {
                    layer.alert("删除成功");
                    reLoad();
                } else {
                    layer.alert("删除失败");
                }
            }
        });
    })
}

function add() {
    $.ajax({
        //cache : false,
        type : "POST",
        url : "/tempStudent/save",
        dataType : 'json',
        //data : $('#form1').serialize(),
        error : function(request) {
            parent.layer.alert("Connection error");
        },
        success : function(data) {
            if (data.code == 0) {
                layer.msg("导入学生信息成功");
                reLoad();
            } else {
                layer.alert("插入的数据有误")
                reLoad();
                /*parent.layer.alert(data.msg)*/
            }

        }
    });
}